home *** CD-ROM | disk | FTP | other *** search
File List | 1995-06-16 | 1.7 KB | 77 lines |
- ' This little program can be used to torn on/off IDE and SCSI HDs...
- ' All code (c) 1995 by Teddy of TMC
- ' This program is COPYWARE! Have fun and keep on coding...
- '
- ' Use this commands: (XHDI driver required!)
- '
- ' hdon ->Turns on ALL HDs
- ' hdoff ->Turns off all HDs
- ' hdonoff(HD_ID,SET) ->SET=0/1 Turn HD with HD_ID on/off
- '
- '
- > PROCEDURE hdon
- LOCAL oun%,q%,id%,oid%,oids%
- pun%=LPEEK(&H516)
- IF MKL$(LPEEK(pun%+18+16*4))="AHDI"
- oid%=-1
- CLR oids%,ids%
- FOR q%=pun%+2 TO pun%+17
- id%=PEEK(q%)
- IF id%<>255
- ids%=ids% OR (2^id%)
- IF ids%<>oids%
- oids%=ids%
- hdonoff(id%,0)
- ENDIF
- ENDIF
- NEXT q%
- ENDIF
- RETURN
- > PROCEDURE hdoff
- LOCAL oun%,q%,id%,ids%,oids%
- pun%=LPEEK(&H516)
- IF MKL$(LPEEK(pun%+18+16*4))="AHDI"
- oid%=-1
- CLR oids%,ids%
- FOR q%=pun%+2 TO pun%+17
- id%=PEEK(q%)
- IF id%<>255
- ids%=ids% OR (2^id%)
- IF ids%<>oids%
- oids%=ids%
- hdonoff(id%,1)
- ENDIF
- ENDIF
- NEXT q%
- ENDIF
- RETURN
- > PROCEDURE hdonoff(unit%,set%)
- '
- ' Turn HD on and off...
- '
- cjar%=LPEEK(&H5A0)
- IF cjar%<>0
- CLR cfound%
- DO
- cookie%=LPEEK(cjar%)
- IF cookie%=&H58484449
- cfound%=1
- ENDIF
- pointer%=LPEEK(cjar%+4)
- EXIT IF cookie%=0 OR cfound%=1
- ADD cjar%,8
- LOOP
- IF cfound%=1
- magic%=LPEEK(pointer%-4)
- IF magic%=&H27011992
- '
- ostack%=GEMDOS(&H20,L:0)
- VOID C:pointer%(4,unit%,0,set%,0) !Never separate this 3 comms!
- VOID GEMDOS(&H20,L:ostack%)
- '
- ENDIF
- ENDIF
- ENDIF
- '
- RETURN
-